Page({
  data: {
    formData: {
      avatarUrl: '/images/1.png', // 默认头像路径
      name: '', // 用户名
      phone: '', // 手机号
      password: '', // 密码
      confirmPassword: '', // 确认密码
      email: '', // 邮箱
      age: '', // 年龄
      gender: '1' // 性别，默认男
    }
  },

  // 选择头像
  chooseAvatar() {
    wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        this.setData({
          'formData.avatarUrl': tempFilePath
        });
      },
      fail: () => {
        wx.showToast({ title: '选择失败', icon: 'none' });
      }
    });
  },

  // 处理输入框输入
  handleInput(e) {
    const { field } = e.currentTarget.dataset;
    this.setData({
      [`formData.${field}`]: e.detail.value
    });
  },

  // 处理性别选择
  handleGenderSelect(e) {
    const { gender } = e.currentTarget.dataset;
    this.setData({
      'formData.gender': gender
    });
  },

  // 注册用户
  handleRegister() {
    const { name, phone, password, confirmPassword, email, age, gender, avatarUrl } = this.data.formData;

    // 表单验证
    if (!name || !phone || !password || !confirmPassword || !email || !age) {
      wx.showToast({ title: '请填写完整信息', icon: 'none' });
      return;
    }
    if (password !== confirmPassword) {
      wx.showToast({ title: '两次输入的密码不一致', icon: 'none' });
      return;
    }
    // 上传头像并注册
    wx.showLoading({
      title: '注册中...',
    })
    wx.uploadFile({
      url: 'http://127.0.0.1:88/api/user/register.php',//  后端接口地址
      filePath: avatarUrl,
      name: 'avatar',
      formData: {
        name,
        phone,
        password,
        email,
        age,
        gender
      },
      success: (res) => {
        
        try {
          wx.hideLoading(); // 隐藏加载提示
          // 尝试解析 JSON
          const data = JSON.parse(res.data);
          if (data.status === 'success') {
            wx.showToast({ title: '注册成功', icon: 'success', duration: 2000 });
            // 延迟 2 秒后跳转到登录页面
            setTimeout(() => {
              wx.navigateTo({
                url: '/pages/login/login' // 跳转到登录页面
              });
            }, 2000);
          } else {
            wx.showToast({ title: data.message, icon: 'none' });
          }
        } catch (e) {
          // 如果解析失败，提示错误
          wx.showToast({ title: '服务器返回数据格式错误', icon: 'none' });
          console.error('JSON 解析错误:', e);
          console.error('服务器返回数据:', res.data);
        }
      },
      fail: () => {
        wx.hideLoading(); // 隐藏加载提示
        wx.showToast({ title: '注册失败，请重试', icon: 'none' });
      }
    });
  },

  // 跳转到登录页面
  goToLogin() {
    wx.navigateTo({
      url: '/pages/login/login',
      icon: 'none',
      duration: 2000
    });
  }
});